package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.MoPassagewayRoute;

import java.util.*;
public class MoPassagewayRouteExample extends SgExample<MoPassagewayRouteExample.Criteria> {
    public static final Class<MoPassagewayRoute> beanClass = MoPassagewayRoute.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn routeId;
    public static EntityColumn rate;
    public static EntityColumn passagewayName;
    public static EntityColumn flagValue;
    public static EntityColumn type;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        routeId = listMap.get("routeId");
        rate = listMap.get("rate");
        passagewayName = listMap.get("passagewayName");
        flagValue = listMap.get("flagValue");
        type = listMap.get("type");
        }

    public MoPassagewayRouteExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected MoPassagewayRouteExample.Criteria createCriteriaInternal() {
        return new MoPassagewayRouteExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public MoPassagewayRouteExample.Criteria andRouteIdIsNull() {
            return isNull(routeId);
        }

        public MoPassagewayRouteExample.Criteria andRouteIdIsNotNull() {
            return isNotNull(routeId);
        }

        public MoPassagewayRouteExample.Criteria andRouteIdEqualTo(Long value) {
            return equalTo(routeId, value);
        }

        public MoPassagewayRouteExample.Criteria andRouteIdNotEqualTo(Long value) {
            return notEqualTo(routeId, value);
        }

        public MoPassagewayRouteExample.Criteria andRouteIdGreaterThan(Long value) {
            return greaterThan(routeId, value);
        }

        public MoPassagewayRouteExample.Criteria andRouteIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(routeId, value);
        }

        public MoPassagewayRouteExample.Criteria andRouteIdLessThan(Long value) {
            return lessThan(routeId, value);
        }

        public MoPassagewayRouteExample.Criteria andRouteIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(routeId, value);
        }

        public MoPassagewayRouteExample.Criteria andRouteIdIn(List<Long> values) {
            return in(routeId, values);
        }

        public MoPassagewayRouteExample.Criteria andRouteIdNotIn(List<Long> values) {
            return notIn(routeId, values);
        }

        public MoPassagewayRouteExample.Criteria andRouteIdBetween(Long value1, Long value2) {
            return between(routeId, value1, value2);
        }

        public MoPassagewayRouteExample.Criteria andRouteIdNotBetween(Long value1, Long value2) {
            return notBetween(routeId, value1, value2);
        }
        public MoPassagewayRouteExample.Criteria andRateIsNull() {
            return isNull(rate);
        }

        public MoPassagewayRouteExample.Criteria andRateIsNotNull() {
            return isNotNull(rate);
        }

        public MoPassagewayRouteExample.Criteria andRateEqualTo(String value) {
            return equalTo(rate, value);
        }

        public MoPassagewayRouteExample.Criteria andRateNotEqualTo(String value) {
            return notEqualTo(rate, value);
        }

        public MoPassagewayRouteExample.Criteria andRateGreaterThan(String value) {
            return greaterThan(rate, value);
        }

        public MoPassagewayRouteExample.Criteria andRateGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(rate, value);
        }

        public MoPassagewayRouteExample.Criteria andRateLessThan(String value) {
            return lessThan(rate, value);
        }

        public MoPassagewayRouteExample.Criteria andRateLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(rate, value);
        }

        public MoPassagewayRouteExample.Criteria andRateLike(String value) {
            return like(rate, value);
        }

        public MoPassagewayRouteExample.Criteria andRateNotLike(String value) {
            return notLike(rate, value);
        }

        public MoPassagewayRouteExample.Criteria andRateIn(List<String> values) {
            return in(rate, values);
        }

        public MoPassagewayRouteExample.Criteria andRateNotIn(List<String> values) {
            return notIn(rate, values);
        }

        public MoPassagewayRouteExample.Criteria andRateBetween(String value1, String value2) {
            return between(rate, value1, value2);
        }

        public MoPassagewayRouteExample.Criteria andRateNotBetween(String value1, String value2) {
            return notBetween(rate, value1, value2);
        }
        public MoPassagewayRouteExample.Criteria andPassagewayNameIsNull() {
            return isNull(passagewayName);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameIsNotNull() {
            return isNotNull(passagewayName);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameEqualTo(String value) {
            return equalTo(passagewayName, value);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameNotEqualTo(String value) {
            return notEqualTo(passagewayName, value);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameGreaterThan(String value) {
            return greaterThan(passagewayName, value);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(passagewayName, value);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameLessThan(String value) {
            return lessThan(passagewayName, value);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(passagewayName, value);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameLike(String value) {
            return like(passagewayName, value);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameNotLike(String value) {
            return notLike(passagewayName, value);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameIn(List<String> values) {
            return in(passagewayName, values);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameNotIn(List<String> values) {
            return notIn(passagewayName, values);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameBetween(String value1, String value2) {
            return between(passagewayName, value1, value2);
        }

        public MoPassagewayRouteExample.Criteria andPassagewayNameNotBetween(String value1, String value2) {
            return notBetween(passagewayName, value1, value2);
        }
        public MoPassagewayRouteExample.Criteria andFlagValueIsNull() {
            return isNull(flagValue);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueIsNotNull() {
            return isNotNull(flagValue);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueEqualTo(String value) {
            return equalTo(flagValue, value);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueNotEqualTo(String value) {
            return notEqualTo(flagValue, value);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueGreaterThan(String value) {
            return greaterThan(flagValue, value);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(flagValue, value);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueLessThan(String value) {
            return lessThan(flagValue, value);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(flagValue, value);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueLike(String value) {
            return like(flagValue, value);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueNotLike(String value) {
            return notLike(flagValue, value);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueIn(List<String> values) {
            return in(flagValue, values);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueNotIn(List<String> values) {
            return notIn(flagValue, values);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueBetween(String value1, String value2) {
            return between(flagValue, value1, value2);
        }

        public MoPassagewayRouteExample.Criteria andFlagValueNotBetween(String value1, String value2) {
            return notBetween(flagValue, value1, value2);
        }
        public MoPassagewayRouteExample.Criteria andTypeIsNull() {
            return isNull(type);
        }

        public MoPassagewayRouteExample.Criteria andTypeIsNotNull() {
            return isNotNull(type);
        }

        public MoPassagewayRouteExample.Criteria andTypeEqualTo(Integer value) {
            return equalTo(type, value);
        }

        public MoPassagewayRouteExample.Criteria andTypeNotEqualTo(Integer value) {
            return notEqualTo(type, value);
        }

        public MoPassagewayRouteExample.Criteria andTypeGreaterThan(Integer value) {
            return greaterThan(type, value);
        }

        public MoPassagewayRouteExample.Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            return greaterThanOrEqualTo(type, value);
        }

        public MoPassagewayRouteExample.Criteria andTypeLessThan(Integer value) {
            return lessThan(type, value);
        }

        public MoPassagewayRouteExample.Criteria andTypeLessThanOrEqualTo(Integer value) {
            return lessThanOrEqualTo(type, value);
        }

        public MoPassagewayRouteExample.Criteria andTypeIn(List<Integer> values) {
            return in(type, values);
        }

        public MoPassagewayRouteExample.Criteria andTypeNotIn(List<Integer> values) {
            return notIn(type, values);
        }

        public MoPassagewayRouteExample.Criteria andTypeBetween(Integer value1, Integer value2) {
            return between(type, value1, value2);
        }

        public MoPassagewayRouteExample.Criteria andTypeNotBetween(Integer value1, Integer value2) {
            return notBetween(type, value1, value2);
        }
    }
}